1. Technical Field of the Invention
This invention relates to the fields of computer communications and computer networking.
2. Description of Related Art
The invention describes a means of coordinating a plurality of computers physically connected to a network. The invention allows rapid broadcast and search of the hosts using distributed control.
Such a system is an improvement over existing centrally controlled coordination in the areas of security, attack resistance, robustness, speed, and scalability.
Physical vs. Logical Organization
The invention may be used by any computer possessing a means to communicate one to another with all other computers to be coordinated.
The invention works by arranging the physically connected computers into a virtual hierarchy that may be efficiently searched and to which messages may be broadcast.
Prior Art—Centralized Control
A collection of computers possessing the ability to communicate one to another may be coordinated by a controlling computer. The controlling computer can maintain a list of network addresses of the computer collection. The controlling computer can maintain a list describing the contents available on each computer in the collection. The controlling computer can also maintain a list a names or other identifying characteristics of each computer in the collection.
The controlling computer may broadcast a message to all the coordinated computers by reading its list of network addresses and creating and sending a message to each computer in the list. The controlling computer may respond to a query regarding the contents available in the collection of computers by searching its list of contents. When a content match is found, the controlling computer can provide the network address of the computer possessing the content.
The controlling computer may respond to a query regarding the name or other identifying characteristic of a computer in the collection by searching its list of names or other identifying characteristics of each computer in the collection. When a match to the computer name or other identifying characteristic is found, the controlling computer can provide the network address of the computer in the collection matching the desired name or other identifying characteristic.
Disadvantages of Centralized Control
    1. Scalability    2. Security    3. Failure sensitivityScalability
A controlling computer can coordinate a finite number of computers. The amount, of computing power increases linearly with the number of computers to be coordinated.
At some point, the controlling computer will be unable to coordinate any more computers and the collection of computers must cease increasing.
Security
All communications between the collection of computer is coordinated by the controlling computer. A successful security attack on the controlling computer will disable all coordinated communications with the collection of computers.
Failure Sensitivity
Similarly, a software failure or hardware failure on the single controlling computer can disable coordinated communications with the entire collection of computers.
Prior Art—Hierarchical Organizations
A logical communication hierarchy of computers may be created with a single host at the top of the logical hierarchy and two or more computers at the next level. Each one of the computers at the second level is logically connected to two or more computers. Each of the computers at the third level is logically connected to two or more computers, and so on.
In the simplest case each computer is connected to a single host going up the hierarchy and to two computers going down the hierarchy. The top level of the hierarchy has a single computer. The second level has two computers. The third level has four computers. The fourth level has eight computers. Each successive logical level contains the next power of 2 number of computers.
The total number of computers in the hierarchy is the sum of the computers at each of the N levels in the hierarchy. For example in the simple sample just described, the fifth level would contain 32 computers and the entire hierarchy would contain 63 computers.
The tenth level of a ten level hierarchy would contain 1024 computers and the entire hierarchy would contain 2047 computers. The equation describing the total number of computers in such a network is 2*(2 power N) −1. Where N is the number of levels.
Advantage of Hierarchical Organizations
A virtual hierarchy such as that described above may broadcast a message from the top level computer to all computers in the hierarchy is an amount of time equivalent to:    N*(average message transit time).For example, in an Internet environment, the message delay might be 10 msec. To broadcast a message to all computers in a ten level hierarchy containing 2047 computers would take 100 msec.
To broadcast a message to all computers in a twenty level hierarchy containing 2,097,151 computers would take only 200 msec.
Without a hierarchy, serially sending a message to 2 million computers would require 2,097,151*(average message transit time).
Disadvantages of Hierarchical Organization
    1. Inflexibility    2. Insecurity    3. Failure sensitivityInflexibility
A hierarchy is great for broadcasting a message from a constant fixed computer to a hierarchy of constant fixed computers. Should a message require broadcasting from any other computer than that at the top of the hierarchy, other mechanisms must be used such as passing the message upward to the top and then broadcasting it downward from the top of the hierarchy.
Insecurity
A hierarchy is progressively more vulnerable to disruption the closer to the top of the hierarchy one gets. In fact, if an attack were launched on the top computer of the hierarchy rendering it inoperable, the entire hierarchy would be rendered inoperable.
Failure Sensitivity
Similarly, each computer in a hierarchy is connected to two or more computers beneath it. Each of them is connected to two or more computers and so on. Should a single computer in a hierarchy fail, all the computer connected beneath it in the hierarchy would be unable to communicate.